A Generic Framework for the Cost Analysis of Java Bytecode∗
نویسندگان
چکیده
Cost analysis of Java bytecode is complicated by its unstructured control flow, the use of an operand stack and its object-oriented programming features (like dynamic dispatching). This paper addresses these problems and develops a generic framework for the automatic cost analysis of sequential Java bytecode. Our method generates cost relations which define at compile-time the cost of programs as a function of their input data size. To the best of our knowledge, this is the first approach to the automatic cost analysis of Java bytecode.
منابع مشابه
Cost Analysis of Java Bytecode
Cost analysis of Java bytecode is complicated by its unstructured control flow, the use of an operand stack and its object-oriented programming features (like dynamic dispatching). This paper addresses these problems and develops a generic framework for the automatic cost analysis of sequential Java bytecode. Our method generates cost relations which define at compile-time the cost of programs ...
متن کاملType Safety of Generics for the .NET Common Language Runtime
The Microsoft .NET Common Language Runtime (CLR) offers support for generic types and methods. We develop a mathematical specification for the generics design through a type system and a model for the semantics of a subset of bytecode instructions with generics. We formalize the type-consistency checks performed for the subset by the CLR bytecode verifier. We then prove that adding support for ...
متن کاملCost analysis of object-oriented bytecode programs
Cost analysis statically approximates the cost of programs in terms of their inputdata size. This paper presents, to the best of our knowledge, the first approach tothe automatic cost analysis of Object-Oriented bytecode programs. In languagessuch as Java and C#, analyzing bytecode has a much wider application areathan analyzing source code since the latter is often not availabl...
متن کاملCOSTA: Design and Implementation of a Cost and Termination Analyzer for Java Bytecode
This paper describes the architecture of costa, an abstract interpretation based cost and termination analyzer for Java bytecode. The system receives as input a bytecode program, (a choice of) a resource of interest and tries to obtain an upper bound of the resource consumption of the program. costa provides several non-trivial notions of cost, as the consumption of the heap, the number of byte...
متن کاملCost Relation Systems: A Language-Independent Target Language for Cost Analysis
Cost analysis aims at obtaining information about the execution cost of programs. This paper studies cost relation systems (CRSs): the sets of recursive equations used in cost analysis in order to capture the execution cost of programs in terms of the size of their input arguments. We investigate the notion of CRS from a general perspective which is independent of the particular cost analysis f...
متن کامل